/**
 * type 针对类型也就是基础数据类型，可以是number、string、boolean、null、undefined、symbol、object等。
 * 
 * interface 定义一个类中应该包含哪些属性和方法，可以是类、接口、函数等
 * 目的是定义对象的结构 而不考虑实际值
 * 
 * 
 * 实现接口 让类满足接口需求
 */
;(function(){
  type myType = string | number;

  interface myInterface {
    name: string;
    age: number;
  }

  class myClass implements myInterface {
    name: string;
    age: number;
    
    constructor(name: string, age: number) {
      this.name = name;
      this.age = age;
    }
  }

})()